POV-Ray : Newsgroups : povray.general : How Do I... : How Do I... Server Time
5 Aug 2024 04:18:32 EDT (-0400)
  How Do I...  
From: Timothy R  Cook
Date: 14 Dec 2002 05:23:39
Message: <3dfb06ab$1@news.povray.org>
I have an unspecified number of linear_spline prisms with unspecified
number of control points and unspecified colour.  Code for an individual
prism looks like

#declare Tile#### = prism{
   linear_sweep
   linear_spline -1.0, 0.0
   cp
   <x1, y1>,
   ..
   <xn, yn>
   rotate -x*90
   material{
     texture{
       pigment{ color rgbt<RRR, GGG, BBB, 0.5> }
       normal{ granite , 1.0 turbulence 1.0 ramp_wave }
       finish{ ambient 0.1 phong 1.0 phong_size 20.0 specular 1.0 }
     }
     interior{
       ior 2.0
       caustics 1.0
       media{
         intervals 1
         confidence 0.0001
         variance 1.0/1.0
         ratio 0.5
         emission rgb <RRR, GGG, BBB>
         scattering{ 5, rgb <0.2, 0.2, 0.2> eccentricity 0.0 }
       }
     }
   }
   hollow
   photons{ collect off }
}

where RRR, GGG, BBB are the red, green and blue values, cp the
number of control points, and Tile#### the prism in question.
I started doing the whole thing by hand in Moray, but I realised
that this is something that I ought to be able to do with a
fairly simple POV script.  I'd already started putting the colours
for the tiles into a CSV file (20 tiles so far).

The question is: how do I go about reading the appropriate elements
of the CSV into the appropriate variables in the prism object?  I
reckon I can figure out how to repeat it myself once I know how to
do one, but my programming experience doesn't include messing with
data files.

For reference, CSV would look like

Tile####,RRR,GGG,BBB,rrr,ggg,bbb,p, x1, y1, x2, y2, x3, y3, x4, y4
Tile0001,128,128,128,0.5,0.5,0.5,4,0.0,0.0,1.0,0.0,1.0,1.0,0.0,1.0
...
Tile0020,128,128,128,0.5,0.5,0.5,4,2.0,0.0,3.0,0.0,3.0,1.0,2.0,1.0
EOF

(probably can ditch the rrr, ggg, bbb values since I can do maths
inside POV, and they're RRR, GGG, and BBB divided by 255)
-- 
Tim Cook
http://empyrean.scifi-fantasy.com

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GFA dpu- s: a?-- C++(++++) U P? L E--- W++(+++)>$
N++ o? K- w(+) O? M-(--) V? PS+(+++) PE(--) Y(--)
PGP-(--) t* 5++>+++++ X+ R* tv+ b++(+++) DI
D++(---) G(++) e*>++ h+ !r--- !y--
------END GEEK CODE BLOCK------


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.